#ifndef BOSS_Afterburner_File_SystemPath_H
#define BOSS_Afterburner_File_SystemPath_H

/// @addtogroup Afterburner_objects
/// @{
/// @author   Remco de Boer 雷穆克 (r.e.deboer@students.uu.nl or remco.de.boer@ihep.ac.cn)
/// @date     May 23rd, 2019

#include "Functions/Error.h"
#include "TList.h"
#include "TString.h"
#include "TSystemDirectory.h"

class SystemPath
{
public:
  SystemPath() {}
  SystemPath(const TString& path);
  void        SetPath(const TString& path);
  const char* GetPath() const;

  const TList* GetFiles() const { return fSystemPath.GetListOfFiles(); }

  Bool_t IsEmpty() const;
  Bool_t IsDirectory() const { return fSystemPath.GetListOfFiles(); }
  Bool_t IsFile() const { return !IsDirectory(); }

private:
  TString          fPWD;
  TString          fName;
  TSystemDirectory fSystemPath;
};

/// @}

#endif